====== Autres Fonctions possibles dans un FrugalBuild ======



===== _F_cd_path =====

Par défaut,

  _F_cd_path="$pkgname-$pkgver$pkgextraver"

permet de spécifier un nom différent du dossier source s'il y a lieu.

===== _F_conf_configure =====


Par défaut,

  _F_conf_configure="./configure"


===== _F_rcd_name =====


Par défaut,

  _F_rcd_name="$pkgname"

permet de spécifier le nom d'un fichier init sans le préfixe rc s'il y a lieu.

===== _F_desktop_filename =====


Par défaut,

  _F_desktop_filename"$pkgname.desktop"

permet de spécifier le nom du fichier .desktop s'il y a lieu.

===== _F_desktop_name =====


Par défaut,

  _F_desktop_name="$pkgname"

pour spécifier le nom de l'icône de bureau à afficher.

===== _F_desktop_desc =====


Par défaut,

  _F_desktop_desc="$pkgdesc"

pour spécifier la description de l'icône.

===== _F_desktop_icon =====


Pour spécifier l'icône dans /usr/share/pixmaps à utiliser.

===== _F_desktop_exec =====

Par défaut,

  _F_desktop_exec="$pkgname"
pPour spécifier le nom de l'exécutable


===== _F_desktop_categories =====


Exemple,

  _F_desktop_categories="Game"

pour spécifier la catégorie où doit être le raccourci du bureau.

__Liste des catégories__: 

System;Game;AudioVideo;GNOME;KDE;Network;Development;FileTransfer;GTK;

===== _F_desktop_mime =====


Pour spécifier le Mimetypes du raccourci.

===== _F_desktop_show_in =====

Exemple,

  _F_desktop_show_in="GNOME;"

pour faire en sorte que l'icône soit montrée dans un environnement de bureau en particulier uniquement, exemple "XFCE;" pour Xfce, "GNOME;" pour Gnome, etc.
 
===== Fsrcdir =====


**$Fsrcdir** correspond à "$startdir/src".

===== Fdestdir =====


**$Fdestdir** correspond à $startdir/pkg".

===== Fsysconfdir =====

**Fsysconfdir** correspond à "/etc". On l'utilise dans les paramètre du Fconf parfois.

===== Flocalstatedir =====

**Flocalstatedir** correspond à "/var".

===== Fmenudir =====

**Fmenudir** correspond à "/usr/share/applications".

===== Farchs =====


**Farchs** correspond à ('i686' 'x86_64' 'ppc')

===== Fconfopts =====

**Fconfopts** correspond à "--prefix=$Fprefix"

Exemple:

  Fconfopts="${Fconfopts[@]} --disable-scrollkeeper"

===== Fmessage =====


**Fmessage()**: Affiche un message

===== Fdie =====

**Fdie()**:  Force makepkg à quitter.

===== Fcd =====

**Fcd**: Va au répertoire source si c'est le **$Fsrcdir** qui est utilisé. Par défaut c'est **$_F_cd_path**.

===== Fmkdir =====

**Fmkdir**: Créer un répertoire dans $Fdestdir. Indiquer à la suite le nom du répertoire à créer.

Exemple,

  Fmkdir /usr/bin

===== Frm =====

**Frm**: Effacer (rm -rf) la structure d'un répertoire dans $Fdestdir. Indiquer à la suite le(s) nom(s) des répertoire à effacer.

===== Fcp =====

**Fcp**: Copier le(s) fichier(s) dans $Fdestdir. Indiquer le le nom du fichier puis le répertoire de destination.

Exemple

  Fcp machin /usr/bin/machin

===== Fcpr =====


**Fcpr**: Copier le(s) fichier(s) vers $Fdestdir périodiquement depuis $Fsrcdir. Indiquer le nom du fichier puis le répertoire de destination.

===== Fcprrel =====


**Fcprrel**: Copier le(s) fichier(s) vers $Fdestdir périodiquement du répertoire de travail en cours. Indiquer le nom du fichier puis répertoire de destination.

===== Fmv =====


**Fmv**: Déplacer un fichier dans $Fdestdir. Indiquer le nom du fichier puis le répertoire de destination.

===== Finstallrel =====


**Finstallrel**: Installe le ou les fichier(s) dans $Fdestdir. Paramètres: mettre le mode de permission (comme chmod) puis indiquer le répertoire de destination.

**exemple**

  Finstallrel 666 /truc/machin

===== Finstall =====


**Finstall**: Installe le ou les  fichiers(s) dans $Fdestdir depuis $Fsrcdir. Paramètres: mettre le mode de permission (comme chmod) puis indiquer le répertoire de destination.

===== Fdirschmod =====


**Fdirschmod**: Change les permissions des répertoires et sous-répertoires dans $Fdestdir. Paramètres: où débuter le "find", puis le mode octal ou [+-][rwxstugo].

===== Ffileschmod =====


**Ffileschmod**: Change les permissions de tout les fichiers dans $Fdestdir. Paramètres: où débuter le "find", puis le mode octal ou [+-][rwxstugo].

===== Fdirschown =====


**Fdirschown**: Change le propriétaire et/ou le groupe des répertoires et sous-répertoires dans $Fdestdir. Paramètres: 1) ou débuter le "find" 2) proprétaire 3) groupe.

===== Ffileschown =====


**Ffileschown**: Change le propriétaire et/ou le groupe des fichiers dans $Fdestdir. Paramètres: 1) ou débuter le "find" 2) proprétaire 3) groupe.

===== Fexe =====


**Fexe**: Installe un ou des fichiers exécutables dans $Fdestdir depuis $Fsrcdir. Premier paramètre: fichier(s) qui doit(vent) être installé(s) depuis $Fsrcdir (par défaut: $Fsrcdir/`basename $destination`), second paramètre: la destination.

===== Fexerel =====


**Fexerel**: Installe un ou des fichiers exécutables dans $Fdestdir. Premier paramètre: fichier(s) qui doit(vent) être installé(s) (par défaut dans `basename $destination`), second paramètre: la destination.

===== Ffile =====


**Ffile**: Installe un ou des fichier reguliers dans $Fdestdir depuis $Fsrcdir. Premier paramètre: fichier(s) qui doit(vent) être installé(s) depuis $Fsrcdir (par défaut $Fsrcdir/`basename $destination`), second paramètre: la destination.

===== Ffilerel =====


**Ffilerel**: Installe un ou des fichier réguliers dans $Fdestdir. Premier paramètre: fichier(s) qui doit(vent= être installé(s) (par défaut dans `basename $destination`), second paramètre: la destination.


===== Fman =====


**Fman**: Installe un ou des fichier réguliers dans le répertoire man depuis $Fsrcdir. Paramètre: fichier(s) qui doit(vent) être installé(s) depuis $Fsrcdir.

===== Fmanrel =====

**Fmanrel**: Installe un ou des fichier réguliers dans le répertoire man. Paramètre: fichier(s) qui doit(vent) être installé(s) depuis $Fsrcdir.

===== Fdoc =====

**Fdoc**: Installe les fichiers de documentation file(s) dans $Fdestdir/usr/share/doc/$pkgname-$pkgver depuis $Fsrcdir. Seulement si sont présents $file.xx ou $file.xx_YY. Indiquez les fichiers qui doivent être installés depuis $Fsrcdir. (par défaut $Fsrcdir/basename $destination).

===== Fdocrel =====


**Fdocrel**: Installe les fichiers de documentation file(s) dans $Fdestdir/usr/share/doc/$pkgname-$pkgver depuis $Fsrcdir. Seulement si sont présents $file.xx ou $file.xx_YY. Indiquez les fichiers qui doivent être installés. (par défaut $Fsrcdir/basename $destination).

===== Ficon =====


**Ficon**: Installe les fichiers icônes dans $Fdestdir/usr/share/pixmaps depuis $Fsrcdir. Indiquez les fichiers à installer.

Exemple

  Ficon machin.png

===== Ficonrel =====

**Ficonrel**: Installe les fichiers icônes dans $Fdestdir/usr/share/pixmaps depuis le répertoire en cours. Indiquez les fichiers à installer.

===== Fln =====

**Fln**: Créer un lien symbolique (symlink) dans $Fdestdir. Indiquer la source (par exemple mysql/libmysqlclient.so) puis la cible (par exemple /usr/lib/)


===== Fsed =====


**Fsed**: Utilise sed sur un ou des fichier(s). Indiquez le regexp (voir man sed!), le remplacement puis le fichier à éditer. 


===== Fdeststrip =====


**Fdeststrip**: Strip $Fdestdir à partir des fichiers dans $Fdestdir. Indiquez les fichier à stripper.

===== Fpatch =====


**Fpatch**: Applique un patch avec -p1 (ou -p0 si -p1 échoue). Indiquez le patch à appliquer. Les suffixes ".gz" ou ".bz2" seront ignorés.

===== Fpatchall =====

**Fpatchall***: Applique des  patchs depuis source(). Les suffixes autorisés sont \.\(patch[0-9]*\|diff\)\(\.\(gz\|bz2\)\|\). URL autorisés aussi. Si le patch est dans un format du style foo-<valid arch>.suffix format, le patch sera appliqué suivant l'architecture indiquée uniquement.

===== Fconf =====

**Fconf**: Un wrapper pour ./configure. Il essayera de lancer ./configure, Makefile.PL, extconf.rb et configure.rb, respectively. Il ajoutera automatiquement les switches **--prefix=$Fprefix** (par défaut /usr), **--sysconfdir=$Fsysconfdir** (par défaut /etc) et  **--localstatedir=$Flocalstatedir** (par défaut /var). Les deux derniers seront ajoutés uniquement si le script le supporte. Si vous voulez ajouter un switch, il faut utiliser la variable **$Fconfopts** variable en indiquant les switches.

Exemple:

  Fconfopts="${Fconfopts[@]} --disable-scrollkeeper"

===== Fmake =====


**Fmake**: Un wrapper pour la commande make et "python setup.py build" après Fconf. 

===== Fnant =====


**Fnant**: un wrapper pour la commande nant. Indiquez le fichier de construction à utiliser puis les switches à passer pour nant.

===== Fmakeinstall =====


**Fmakeinstall**: Un wrapper pour la commande make install. Il éxécute make DESTDIR=$Fdestir ou prefix=$Fdestdir/usr install (celui nécéssaire). Il prend en compte les setup.py de python. Retire /usr/info/dir et /usr/share/info/dir puis déplace les modules perl (s'il les trouve) dans le bon endroit. Si un fichier rc.$_F_rcd_name est trouvé, il installera le script init aussi.

===== Fbuild =====


**Fbuild**: Le build par défaut: Fpatchall, Fmake, Fmakeinstall.

===== Frcd =====


**Frcd**: Créer un environnement rc.d. Indiquez le nom du script rc, par défaut c'est $pkgname.

A noter que Frcd est devenu obsolète, veuillez utiliser Frcd2.


===== Frcd2 =====


**Frcd2**: Créer un environnement rc.d. Indiquez le nom du script rc, par défaut c'est $pkgname.

===== Facu =====


**Facu**: Met à jour config.sub et config.guess depuis l'automake de Frugalware.

===== Fsort =====


**Fsort**: Similaire à la commande sort, mais supporte toutes versions (c'est à dire 1.9 vs 1.10 vs 2.0) correctement. Utilise vercmp de pacman. Lit la liste de versions depuis stdin.

===== Funpack_makeself =====


**Funpack_makeself**: Décompresse les fichiers générés makeself qui sont des scripts shell avec le paquet binaire taggé à la fin de l'archive. Loki utilise ce format comme beacoup de firmes de jeux.


===== Fautoconfize =====



**Fautoconfize**: L'autogen.sh de Frugalware. Il lance les commandes aclocal, autoheader, autoconf puis enfin automake.

===== Fautoreconf =====


**Fautoreconf**: il lance la commande autoreconf -vif.

===== Flasttar =====


**Flasttar**: Il extrait la version du tarball depuis le dernier lien tar.gz sur la page.

===== Flasttgz =====


**Flasttgz**: Il extrait la version du tarball depuis le dernier lien tgz sur la page.

===== Flasttarbz2 =====


**Flasttarbz2**: Il extrait la version du tarball depuis le dernier lien tar.bz2 sur la page.

===== Fdesktop =====


**Fdesktop**: Créer un fichier .desktop pour les applications graphiques. Indiquez:
-le nom du de l'exécutable
-l'icône utilisée depuis /usr/share/pixmaps
-la ou les catégories (optionel).

**Liste**: System;Games;AudioVideo;GNOME;KDE;Network;Development;FileTransfer;GTK;

-le type mime (optionel) 

__Exemple:__ 

  Fdesktop vmware vmware-workstation.png "System;" "application/x-vmware-vm;application/x-vmware-team;"

**A noter que cette fonction est obsolète, veuillez utiliser Fdesktop2.**

===== Fdesktop2 =====

**Fdesktop2**: Créer un fichier .desktop pour les applications graphiques.

Voir plus haut pour les options.

===== Fwrapper =====



**Fwrapper**: Créer un wrapper pour les applications. Parameters: 1)

Exemple: 

  Fwrapper "python /usr/lib/python/foo.py" foo

===== Fsplit =====

**Fsplit**: Déplace un fichier vers un sous-paquet.

Exemple: 

  Fsplit libmysql /usr/lib


===== check_option =====

**check_option**: Vérifie si un flag logique est défini en options() ou pas.

Exemple: 

  if ["check_option DEVEL" ]; then

===== Fmsgfmt =====


**Fmsgfmt**: Installe des fichiers gettext po (traduction) aux fichiers binaires mo. Parameters:

Exemple: 

  Fmsgfmt /usr/share/locale hu file file-hu.

===== Fextract =====


**Fextract**: décompresse l'archive

Exemple: 

  Fextract pacman.tar.gz.